腾讯互娱高级游戏策划:如何从0到1用Excel实现数值设计?
本文首发于公众号“腾讯游戏学院”,作者suelin系腾讯互动娱乐高级游戏策划。游戏葡萄已获转载授权。 |
前言
经常有小伙伴说自己不是数值策划,又很希望能够试着做一些数值设计。数值文章也看了许多,道理几乎都懂,但有些不知从何下手。这里想通过视频的方式,分享具体如何使用Excel实现数值设计,包括Excel函数的运用,简单的VBA代码书写,以及MMORPG游戏的数值从0到1的制作全过程。本文将从职业、装备两方面来进行解读。
MMORPG职业篇
一、角色基础模型设计
(1)设定游戏的角色等级(如果游戏有等级概念):假设为30级;
(2)站桩输出pvp的时间:假设为20秒。
(1)伤害值初始数值是两位数;
(2)希望每成长一级等级,玩家的攻击、防御、伤害值都有成长;
(3)技能伤害百分比成长缓慢;
(4)技能数值成长相对正常;
(5)两个角色裸体对砍20秒。
(1)攻防公式(此公式只作为演示,实际以游戏需要为准):
(攻击-防御)*(1+技能伤害百分比)+技能数值
(2)运用到的公式(y=ax+b的一元一次函数):
攻击=参数1*(等级-1)+参数2
(3)运用到的Excel使用函数:Round(),对带小数点的数值进行取整。
具体的操作视频如下:
https://v.qq.com/txp/iframe/player.html?vid=m07347yfnkx&width=500&height=375&auto=0
根据经验和其他游戏的总结确定各数值投放比,简称投放比数值模型,在PVP竞技场时,对玩家的攻防血再进行数值修正。
假设,攻击:防御:血量 =1:X:Y,数值模型如下:
二、职业数值设计
几乎所有的RPG网游都有职业设定,对职业数值进行差异化设计。与此同时,除攻击、防御、血量二级属性外,也加入了如力量、敏捷、智力、体力等一级属性等概念,丰富游戏数值内容。其中,职业的差异化设计更多的是由技能设计体现,职业的属性数值差异化是锦上添花。
(1)假定游戏有三个职业,战士、法师、盗贼。
(2)假设游戏包含:
一级属性:力量、智力、敏捷、体力。
二级属性:攻击、防御、暴击、血量、魔法。
力量:影响战士的攻击、全部职业的生命(影响系数不同)。
智力:影响法师的攻击、全部职业的魔法上限(影响系数不同)。
敏捷:影响盗贼的攻击、全部职业的暴击等级,暴击等级可以转换为暴击率(影响系数不同)。
体力:影响全部职业的生命值(影响系数不同)。
属性设计思路
A.用攻击来决定每种职业追求哪种一级属性。
由于各职业需要有属性差异,过于复杂的属性结构不宜理解,所以采用了每个职业有一个主属性,主属性影响每个职业的攻击力,让玩家追求属性时能够抓住重点,有的放矢。尽量避免一个二级属性被多个一级属性影响,这样的设计也更容易把控。
B.遵循大家都一样的原则,是最简单直接的平衡性模型。
每个职业除攻击和通用一级属性外,被一级属性影响的数量一定相同。如,战士的力量只影响除攻击外的一个防御属性,智力只影响一个魔法上限,敏捷只影响一个暴击等级,体质是通用属性,可以适量影响多条属性。
基于以上,建立一个职业属性关系表:
(1)以基础角色数值模型为原型,乘以各种系数变形出只有二级属性的各职业角色数值模型,以下是各职业详细数值。
点击上图,可放大查看
https://v.qq.com/txp/iframe/player.html?vid=i0734hpukkp&width=500&height=375&auto=0
(2)反推各职业的一级属性
很多情况下,属性面板是不会直接显示攻击、防御这些属性,只会显示力量、智力、敏捷、体质这些属性,用比较简单的乘除法就可以转换这些属性。
1点力量=1.5点战士攻击力、全职业防御(战士0.55,盗贼0.5,法师0.49)
1点智力=1.5点法师攻击力、全职业魔法值(职业不同系数也不同,魔法值的设定主要与技能循环有关,暂不在本文体现)
1点敏捷=1.5点盗贼攻击力、全职业暴击等级(职业不同系数也不同,敏捷转化为暴击等级与其他属性类似的方式就可以解决)
其中暴击等级需要通过特定公式转换为暴击率,在后面具体写出计算方法。
1点体力=全职业生命(战士90,盗贼80,法师77)
以下是已经调整好的一级属性数值:
https://v.qq.com/txp/iframe/player.html?vid=i0734hpukkp&width=500&height=375&auto=0
(3)使用(2)换算过的各属性转换系数,重新梳理各职业最终的二级属性及战斗节奏,进行数值校验。
战斗节奏与最初设计的基础模型可能存在偏差(标红处),但对于整体来说影响不大,可以忽略。
通过一级属性转换的防御、血量,一定和原来的预设是不一样的,所以我们需要做反验算和验证的过程,我们先把力量、敏捷、智力这些一级属性分别链接到二级属性表里各个职业对应的位置,使用“=”号即可。然后计算实际的二级属性,攻击是用力量乘以攻击系数,防御就是乘以防御系数,血量就是乘以血量系数,得到各个职业的攻击、防御和血量之后,用伤害与各个职业的血量进行对比,得出战斗时长。
我做了一个小小的预设,希望1V1的时候,战士能稍稍领先盗贼,盗贼能稍稍领先法师,那么战士打盗贼的时长要比盗贼打战士的时长要短,要能更快打死对方,我的系数调整之后,基本是符合预期的。
如果我们在验证的过程中,数值有偏差怎么办?要么就提升战士的攻击力,要么减少盗贼的血量,通过系数来调整。
角色裸装暴击率控制在0%~3%左右比较保险。
(1)暗黑三式的暴击率计算
各种“率”的上限为100%,一般RPG网游成长周期比较久,投放百分之零点几又会被觉得太奇怪,一般都需要通过“暴击等级”、“致命”等这些中间值进行转换。
暗黑3的计算方式如下(我们可以把暗黑三的敏捷改为暴击等级,思路是一样的):
假设:玩家有600敏捷。
100 * 0.1% = 10.00% (0-100敏捷区间)
400 * 0.025%= 10.00% (100-500敏捷区间)
100 * 0.02%= 2.00% (500-1000敏捷区间)
敏捷提供的闪避总计:
(10.00%+10.00%+2.00%)= 22%
(2)DNF给出的另一个思路
DNF的伤害计算中,黄字和爆伤取的是所有装备中的最大值,这种计算方式是否可以用作游戏中的暴击率计算,也是可以来考虑考虑的事情。
小结:
当暴击率达到40%,给玩家的直观感受接近刀刀暴击/闪避,暴击是危险属性,需谨慎投放。可以通过“捆绑”投放(暴击和暴击抵抗同步投放)、边际效益递减(暗黑三闪避率计算)的方式投放。
总而言之,研发阶段的数值设计是一个不断的拍脑门、反推、调整、重新计算、测试、再调整的过程,看似比较烦碎,但在不断的实践以及玩家的测试验证,都可以总结出适合自己习惯使用的数值方法论。
MMORPG装备篇
装备基础模型设计
1. 必须做出的预设
装备基础模型设计
所有的数值设计都需要有一个期望的样子,做到心中有数,前方有路。
先画一个很普遍的装备结构:
(1)装备元素
我们需要考虑关于装备的元素有:装备能力、装备等级、装备品质、装备部位、基础属性、附加属性、装备强化系统等。
(2)装备能力
角色等级上限还是上文中设定的30级。暂定对比角色,角色:装备=1:3。
(1)装备总数值
通过基础角色数值模型的3倍,得到各级装备总数值(实际的战斗能力远远不止3倍,可通过攻防公式计算出血量与伤害后的比值检验战斗能力差值)。
初步计算只需用到二级属性(攻击、防御、血量等),再通过一级属性转换率,反推出装备可供给的一级属性(力量、敏捷、智力、体力)。
(2)设计装备部位、分配装备属性
有了全部装备的总数值,就要开始拆分装备部位数值了。设定装备一共有4个部位,武器、头盔、衣服、裤子,并按常规意识分配属性,即武器有更多的攻击能力,衣服有更多的防御能力。
(3)装备品质
品质系数是一直在调整的,如果装备等级是决定装备数值的第一要素,那么装备品质系数的差异就相对较小,如果想提升品质的作用性,那么品质系数差异就可以相对放大。
很多游戏的装备数值中,白字属性可能只有一条,单独留出来白字属性,剩下的属性作为随机属性,如:
视频地址:https://v.qq.com/x/page/j0742oggpgv.html
(4)装备数值计算
装备数值分为白字属性(固定数值)+随机数值。
装备的白字属性=对应等级的装备数值*对应部位的属性占比*品质影响系数*白字属性占比
装备的随机属性=对应等级的装备数值*对应部位的属性占比*品质影响系数*随机属性占比
点击上图,可放大查看
(5)随机属性的随机数值范围
点击上图,可放大查看
(6)随机属性和属性条数
装备品质可以对应不同的随机条数,除了数字大小外,随机属性也是获得装备的乐趣点,比如随机到3条同属性是让玩家兴奋的点,当然也不能过度释放这种装备乐趣导致平衡型问题。
前文中计算出的都是二级属性攻击、防御、血量,属性不够丰富,该怎么做呢?
a.一、二级属性等价转换
可使用属性转换系数,直接将二级属性转换为一级属性。如1.5的攻击力可等价于1点的力量、敏捷、智力,对于不同的职业,这些属性可以是极品属性,也可能是废属性,装备的可选性和多样性也随之而来。
b.不同属性之间的等价转换
1.5点攻击力可以等于1点力量,因为有转换关系,那1攻击力和1血量之间如何转换呢?
使用攻防公式和投放比例进行计算。
防御:加减攻防公式以防出现太多不破防点状态,在上一篇文章中防御力投放是攻击力的1/3,那么投放1点防御力,就要投放3点攻击力,投放3点攻击力,对应投放1点防御力。
血量:保证战斗节奏20秒的状态,就意味着每增加1点伤害,就要增加20*1的血量。伤害=(攻击−防御)*(1+技能%)+技能伤害数值,血量就要用前面的公式结果乘以20。血量需要随着等级增长,各个因素的成长而加大投放量。
以上的计算方法同样可以用来计算战斗力。
(7)规范装备ID
方便道具使用也是数值策划的必备技能之一,本文中的装备ID规则如下:
装备ID编号=等级*10000+品质系数*1000+部位系数*100
如果装备按职业划分或分成各类护甲,可增加ID位数适应需求变化。
除装备随机属性和数值的乐趣外,装备效果、装备与职业BUILD搭配、装备收集都可让装备系统变得更具可玩性,形成更丰富多样的装备数值体系结构。
以DNF的装备结构为例,装备由防具+武器+饰品+其他构成。
值得多提一些的是防具,DNF防具不限职业穿戴,套装属性对所有职业生效。官方用护甲精通(穿戴某甲增加XX属性或XX效果)作为各职业的指引装备穿戴,若玩家忽略护甲精通属性,仍可按照自己的装备及职业搭配非精通护甲装备,可能达到更佳的套装效果。
装备没有付费点,会让商业化同学压力比较大,于是装备系统就需要强化、宝石、萃取、洗炼、重锻等只有你想不到没有做不到的装备付费点,各系统的数值加成与付费深度相关,属性性价比边际递减也是这类系统常使用的方式,在后续文章里会着重分享各种强化及概率问题的内容。
总而言之,研发阶段的数值设计是一个不断的拍脑门、反推、调整、重新计算、测试、再调整的过程,看似比较繁琐,但在不断的实践以及玩家的测试验证后,都可以总结出适合自己习惯使用的数值方法论。最后预告一下,本系列后续会有PVE数值设计、战斗模拟器制作、各种强化算法的内容,敬请期待。
推荐阅读
每天还有这些内容值得你去看
关注微信公众号“游戏葡萄”,每天获取最前瞻的游戏资讯